home *** CD-ROM | disk | FTP | other *** search
Makefile | 1999-10-19 | 9.8 KB | 356 lines |
- # make file øÄ
- 3.1 Windows version
- # and Win32 using Borland C++ 4 (or 5? --- 4.52 is known to work)
- # or Borland C++ Builder 1 (newer versions may work as well)
- #
- # This makefile may need some editing before it can be used. Check
- # BCC installation path, the WIN32 and RUNTIME_LIB flags, in particular.
- #
- # The compile and link includes debug flags. Take them out if you
- # do not want them included (-y -v -M, /m /s /v /l)
- #
- # New 991003: WIN32=1 build makes the helpers (doc2rtf, bf_test) as Win32
- # console applications, instead of plain DOS programs. This
- # way, it also works with those compilers missing a DOS option.
-
- # where to place wgnuplot.hlp helpfile
- HELPFILE = wgnuplot.hlp
-
- # location of Borland C compiler
- TC = d:\bc31
-
- # location of TLINK.EXE and BCC.EXE
- BIN = $(TC)\bin\\
-
- #The full path name of the help compiler. For BC++:
- HC = $(BIN)\hc
- # this comes with C++ Builder 1.0 (but doesn't seem to work):
- #HC = $(TC)\help\tools\hcw /c /e
- # or you can use the 'help workshop' available directly from MS:
- #HC = h:\mssdk\bin\hcw /c/e
-
- # WIN32=1 for Win32s or Win32 (--> '95 or NT)
- # new: allow '-DWIN32=1' on make command line to take effect:
- !if "$(WIN32)"==""
- WIN32=0
- !endif
-
- # Uncomment _this_ for BC++ 4.52 (or others that give linker errors for
- # the 'errno' variable)... :
- RUNTIME_LIBRARY=cw32.lib
-
- # ... or this for more modern ones (like C++Builder 1.0) -- it's the
- # properly multithreading one:
- #RUNTIME_LIBRARY=cw32mt.lib
-
- !if $(WIN32)
-
- # 32bit Windows compilation.
- CC = bcc32
- PROCESSOR_OPT =
- DEFINE_HELPFILE = -DHELPFILE=\"$(HELPFILE)\"
-
- # For BC++ 4.52, you may try this version with Pentium scheduling
- # optimization. NB: bcc32a in 4.52 increased in bugginess quite
- # a bit more than in program speed :-(
- #CC = bcc32a
- #PROCESSOR_OPT = -5
-
- !else
-
- # 16bit compilation:
- CC = bcc
- DEFINE_HELPFILE = -DHELPFILE="$(HELPFILE)"
-
- !endif
-
- # -c means don't link
- # -ml means use large model (large code, large data)
- # -M means produce link map
- # -y means include line numbers for debugger
- # -v means include debug info
- # -w- means ignore warnings and do not report them
- # -w-rvl ignore function must return a value error
- # -Ff=128 means make data object > 128 FAR
- # -W means window application
- # -DREADLINE to use the history/line editing capability. If you want this
- # capability add -DREADLINE to CFLAGS then add 'readline' to the /o
- # section of the linker call.
- !if $(WIN32)
- CFLAGS = -c -W -M -G -y -v -w-rvl -w-use -w-par -w-aus -w-pro $(PROCESSOR_OPT) -I$(TC)\include -Iwin -DREADLINE=1 -DHAVE_STRNICMP -DWIN32 -DHAVE_STRERROR -DNO_GIH -DNOGAMMA -DWIN32_LEAN_AND_MEAN -DANSI_C -DHAVE_GETCWD
- CAUXFLAGS = -tWC -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DWIN32 -DWINDOWS_NO_GUI -DHAVE_STRNICMP -DANSI_C
- !else
- CFLAGS = -c -W -ml -w-par -w-use -w-aus -f -h -N -M -y -v -d -Ff=32 -I$(TC)\include -Iwin -DREADLINE=1 -zEGPFAR_DATA -DHAVE_STRNICMP -DMSDOS=1 -DNO_GIH -DANSI_C -DHAVE_GETCWD -DNDEBUG
- CAUXFLAGS = -ml -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DMSDOS=1 -DHAVE_STRNICMP -DANSI_C
- !endif
-
- OBJS = bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj \
- internal.obj misc.obj parse.obj plot.obj plot2d.obj plot3d.obj \
- readline.obj scanner.obj set.obj show.obj specfun.obj standard.obj \
- stdfn.obj term.obj util.obj version.obj binary.obj winmain.obj \
- interpol.obj fit.obj matrix.obj datafile.obj alloc.obj util3d.obj \
- hidden3d.obj time.obj help.obj
-
- DLLOBJS = wgnuplib.obj wtext.obj wmenu.obj wpause.obj wgraph.obj wprinter.obj
-
- CSOURCE5 = term\aed.trm term\cgi.trm term\cgm.trm term\debug.trm \
- term\dumb.trm term\dxy.trm \
- term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \
- term\hp2648.trm term\hpgl.trm term\hpljii.trm
- CSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \
- term\iris4d.trm term\kyo.trm term\latex.trm term/pbm.trm term\win.trm
- CSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \
- term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \
- term\v384.trm term\x11.trm
- CSOURCE8 = contour.c specfun.c binary.c interpol.obj
- WINDOWS = makefile.win makefile.msw README.win win\wcommon.h \
- win\wgnuplib.c win\wgnuplib.def win\wgnuplib.h win\wgnuplib.rc\
- win\wgnuplot.def win\wgnuplot.hpj win\wgnuplot.mnu win\wgnuplot.rc \
- win\wgraph.c win\winmain.c win\wmenu.c win\wpause.c \
- win\wprinter.c win\wresourc.h win\wtext.c win\wtext.h \
- win\geticon.c docs\doc2rtf.c term\win.trm win\wgnupl32.def
-
- !if $(WIN32)
- all: wgnupl32.exe $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
- !else
- all: wgnuplot.exe wgnuplot.dll $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
- !endif
-
- wgnuplot.exe: $(OBJS) win\wgnuplot.def win\wgnuplot.rc winmain.obj wgnuplot.lib
- # $(BIN)tlink /Twe /c @&&!
- $(BIN)tlink /Twe /c /s /v /l @&&!
- $(TC)\lib\C0Wl +
- bitmap command eval graphics graph3d help internal misc parse +
- plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
- binary interpol +
- winmain +
- readline +
- fit matrix datafile alloc util3d hidden3d time +
- ,wgnuplot,wgnuplot, +
- wgnuplot.lib +
- $(TC)\lib\import +
- $(TC)\lib\mathwl +
- $(TC)\lib\cwl, +
- win\wgnuplot.def
- !
- $(BIN)brc -30 -k -i$(TC)\include win\wgnuplot.rc wgnuplot.exe
-
- # gnuplot.opt contains a list of the 'core' files, in case that's of
- # any use...
-
- wgnupl32.exe: $(OBJS) $(DLLOBJS) win\wgnupl32.def wgnupl32.res winmain.obj
- # $(BIN)tlink32 /Tpe /c @&&!
- $(BIN)tlink32 /Tpe /c /m /s /v @&&!
- $(TC)\lib\C0W32 +
- bitmap command eval graphics graph3d help internal misc parse +
- plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
- wgnuplib wtext wmenu wpause wgraph wprinter +
- binary interpol +
- winmain +
- readline +
- fit matrix datafile alloc util3d hidden3d time +
- ,wgnupl32,wgnupl32, +
- $(TC)\lib\import32 +
- $(TC)\lib\$(RUNTIME_LIBRARY), +
- win\wgnupl32.def, wgnupl32.res
- !
-
- wgnupl32.res: win\wgnuplot.rc win\wgnuplib.rc
- $(BIN)brcc32 -DWIN32 -i$(TC)\include -r -fowgnupl32 win\wgnuplot.rc
-
- # default rules
-
- .c.obj:
- $(BIN)$(CC) @&&!
- $(CFLAGS)
- ! $<
-
- # rules
-
- bitmap.obj: bitmap.c bitmap.h plot.h
-
- command.obj: command.c plot.h setshow.h fit.h
- $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
- $(CFLAGS)
- ! command.c
-
- contour.obj: contour.c plot.h
-
- eval.obj: eval.c plot.h
-
- graphics.obj: graphics.c plot.h setshow.h
-
- graph3d.obj: graphics.c plot.h setshow.h
-
- fit.obj: fit.c fit.h matrix.h plot.h
-
- matrix.obj: matrix.c matrix.h fit.h
-
- internal.obj: internal.c plot.h
-
- misc.obj: misc.c plot.h setshow.h
-
- parse.obj: parse.c plot.h
- $(BIN)$(CC) @&&!
- $(CFLAGS)
- ! parse.c
-
- plot.obj: plot.c plot.h setshow.h
- $(BIN)$(CC) @&&!
- $(CFLAGS)
- ! plot.c
-
- hidden3d.obj: hidden3d.c plot.h setshow.h
-
- plot3d.obj: plot3d.c plot.h setshow.h
-
- plot2d.obj: plot2d.c plot.h setshow.h
-
- readline.obj: readline.c plot.h
-
- scanner.obj: scanner.c plot.h
-
- set.obj: set.c plot.h setshow.h
-
- show.obj: show.c plot.h setshow.h
- $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
- $(CFLAGS)
- ! show.c
-
- specfun.obj: specfun.c
-
- standard.obj: standard.c plot.h
-
- stdfn.obj: stdfn.c stdfn.h
-
- interpol.obj: interpol.c plot.h setshow.h
-
- term.obj: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) win\wgnuplib.h
- $(BIN)$(CC) @&&!
- $(CFLAGS)
- ! $(TERMFLAGS) -Iterm -I. term.c
-
- util.obj: util.c plot.h
-
- util3d.obj: util3d.c plot.h setshow.h
-
- version.obj: version.c
-
- winmain.obj: win\winmain.c win\wgnuplib.h win\wtext.h plot.h
- $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
- $(CFLAGS)
- ! win\winmain.c
-
- wgnuplot.mnu: win\wgnuplot.mnu
- copy win\wgnuplot.mnu wgnuplot.mnu
-
-
- # different compiler options for DLL's */
- !if $(WIN32)
- DLLCC = $(BIN)$(CC) -DWIN32 -c -M -y -v -WE -I$(TC)\include -Iwin
- !else
- DLLCC = $(BIN)$(CC) -c -WD -ms! -w-par -f -M -y -v -w -N -I$(TC)\include -Iwin
- !endif
-
- wgnuplot.lib: wgnuplot.dll
- $(BIN)implib wgnuplot.lib wgnuplot.dll
-
- wgnuplot.dll: $(DLLOBJS) win/wgnuplib.def win/wgnuplib.rc
- $(BIN)tlink /c /n /Twd /L$(TC)\lib /m /s /v /l @&&!
- c0ds +
- wgnuplib wtext wmenu wpause wgraph wprinter, +
- wgnuplot.dll, +
- wgnuplib.map, +
- import mathws cws, +
- win\wgnuplib.def
- !
- $(BIN)brc -30 -i$(TC)\include -t win\wgnuplib.rc wgnuplot.dll
-
- wgnuplib.obj: win/wgnuplib.c win/wgnuplib.h win/wcommon.h win/wresourc.h
- $(DLLCC) win/wgnuplib.c
-
- wmenu.obj: win/wmenu.c win/wgnuplib.h win/wcommon.h win/wresourc.h
- $(DLLCC) win/wmenu.c
-
- wtext.obj: win/wtext.c win/wgnuplib.h win/wcommon.h win/wresourc.h
- $(DLLCC) win/wtext.c
-
- wpause.obj: win/wpause.c win/wgnuplib.h win/wcommon.h win/wresourc.h
- $(DLLCC) win/wpause.c
-
- wprinter.obj: win/wprinter.c win/wgnuplib.h win/wcommon.h win/wresourc.h
- $(DLLCC) win/wprinter.c
-
- wgraph.obj: win/wgraph.c win/wgnuplib.h win/wcommon.h win/wresourc.h
- $(DLLCC) win/wgraph.c
-
- # convert gnuplot.doc to gnuplot.rtf
- $(HELPFILE): win\gnuplot.rtf
- $(HC) win\wgnuplot.hpj
-
- win\gnuplot.rtf: doc2rtf.exe docs\gnuplot.doc win\wgnuplot.hpj
- doc2rtf docs\gnuplot.doc win\gnuplot.rtf
-
- doc2rtf.exe: docs\doc2rtf.c docs\termdoc.c docs\xref.c $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
- $(BIN)$(CC) -edoc2rtf.exe @&&!
- -D_Windows
- -w-pro
- $(CAUXFLAGS)
- -I. -Iterm -Idocs
- ! docs\doc2rtf.c docs\termdoc.c docs\xref.c
-
- # make binary demo files
- demo\bf_test.exe: bf_test.c dbinary.obj dalloc.obj
- $(BIN)$(CC) -edemo\bf_test.exe @&&!
- $(CAUXFLAGS)
- -L$(TC)\lib
- ! bf_test.c dbinary.obj dalloc.obj
- cd demo
- bf_test
- cd ..
-
- dalloc.obj: alloc.c
- $(BIN)$(CC) -c @&&!
- $(CAUXFLAGS)
- ! -odalloc.obj alloc.c
-
- dbinary.obj: binary.c
- $(BIN)$(CC) -c @&&!
- $(CAUXFLAGS)
- ! -odbinary.obj binary.c
-
- # clean up temporary files
- clean:
- del *.obj
- del win\*.obj
- del wgnuplot.map
- del win\wgnuplot.res
- del wgnupl32.map
- del wgnupl32.res
- del win\gnuplot.rtf
- del doc2rtf.map
- del doc2rtf.exe
- del win\wgnuplib.res
- del wgnuplib.map
- del wgnuplot.lib
- del bf_test.map
- del demo\bf_test.map
- del demo\bf_test.exe
-
- realclean: veryclean
-
- veryclean: clean
- del wgnuplot.exe
- del wgnuplot.hlp
- del win\wgnuplot.hlp
- -attrib -h wgnuplot.gid
- del wgnuplot.gid
- del wgnuplot.mnu
- del wgnuplot.dll
- del wgnupl32.exe
- del demo\binary1
- del demo\binary2
- del demo\binary3
- del demo\fit.log
- del demo\soundfit.par
-